package ${packageName}.mapper;

import ${packageName}.model.${modelName};
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;

@Mapper
public interface ${mapperName}{
    List<${modelName}> getAll${modelName}s();

    ${modelName} get${modelName}ById(<#list primaryKeys as column>@Param("${column.propertyName?uncap_first}") ${column.type} ${column.propertyName?uncap_first}<#if column_has_next>, </#if></#list>);

    Integer update${modelName}ById(${modelName} ${modelName?uncap_first});

    Integer delete${modelName}ById(<#list primaryKeys as column>@Param("${column.propertyName?uncap_first}") ${column.type} ${column.propertyName?uncap_first}<#if column_has_next>, </#if></#list>);

    Integer add${modelName}(${modelName} ${modelName?uncap_first});

    Integer deleteAll${modelName}s();
}